home *** CD-ROM | disk | FTP | other *** search
/ Aminet 30 / Aminet 30 (1999)(Schatztruhe)[!][Apr 1999].iso / Aminet / gfx / show / gsaview.readme < prev    next >
Text File  |  1999-03-02  |  4KB  |  138 lines

  1. Short:    GsAView - View ghostscript output with anti-aliasing
  2. Author:   olethros@geocities.com (Christos Dimitrakakis)
  3. Uploader: olethros@geocities.com (Christos Dimitrakakis)
  4. Version:  0.1 - Very early version
  5. Type:     gfx/show
  6. Requires: 1MB Chip, 4.5MB Fast
  7.  
  8.  
  9. Overview
  10. ========
  11. This program was put together rather quickly :)
  12. It converts a monochrome 1700x2200 (200dpi) page output from ghostscript into a
  13. 850x1100 anti-aliased 8-color grayscale page, which is then displayed onto a
  14. screen.
  15. Useful for those of us who do not have 1700 pixel wide displays :)
  16.  
  17.  
  18. Usage
  19. =====
  20.  
  21. Syntax: GsAView [-m] [filename]
  22.  
  23. View a single file
  24. ------------------
  25. GsAView filename
  26.    (Exit by holding down the RMB)
  27.  
  28. View a list of files
  29. --------------------
  30. GsAView -m filename
  31.    This tries to read a list of files named
  32.    filename_xxxx.ilbm
  33.    Where xxxx is a list of numbers {0001,0002,....}
  34.    This is the default output of the amiga_ilbm device in gs5.1.0
  35.    Look below for more details
  36.  
  37.  
  38. Using with gs5.1.0
  39. ==================
  40.  
  41. (gs5.1.0 is available from aminet:text/dtp/)
  42.  
  43.  
  44. /- Viewing a single page -/
  45. --------------------------
  46.  
  47. gs -r200 -g1700x2200 -sDEVICE=amiga_ilbm -sOutputFile=path/filename document
  48. (The -g1700x2200 argument is not strictly necessary, but it is safer.. )
  49.  
  50. ..then, when the page is rendered just start GsAView,or otherwise run it like
  51. this:
  52.  
  53. GsAView path/filename_XXXX.ilbm
  54.  
  55. Use L-Amiga and the mouse button to drag the screen.
  56. Click the right mouse button to exit.
  57.  
  58.  
  59. /- Viewing a complete document -/
  60. ---------------------------------
  61.  
  62. Because amiga_ilbm device appends _XXXX.ilbm to the filename it is possible to
  63. shift through pages using GsAView:
  64.  
  65. First, prepare the output files:
  66.  
  67. gs -dNOPAUSE -r200 -g1700x2200 -sDEVICE=amiga_ilbm -sOutputFile=path/filename document
  68.  
  69. Then,
  70.  
  71. GsAView -m path/filename
  72.  
  73. (Note:  You do not have to wait for all files to be created before you start
  74. viewing them.)
  75.  
  76. Press -,+ on the main keyboard to change pages, or use the GUI on the workbench
  77. screen. Close the GUI to exit.
  78.  
  79.  
  80. Problems (aka BUGS)
  81. -------------------
  82. No error checking is done when loading the bitmap!
  83. It must be a single bitplane 1700x2200 bitmap!
  84. If any other file or a directory, is supplied, GsAView will crash horribly!!
  85.  
  86.  
  87.  
  88. Technical details
  89. -----------------
  90. The program was quickly put together using blitz, which has a fast operation for
  91. loading an image into a bitmap (faster than datatypes, I guess)
  92.  
  93. A custom screen is then opened with this bitmap as a custom bitmap.
  94. A 3.7MB buffer is initialized and ReadPixelArray8 is used to get the data from
  95. the screen to the buffer. The bitmap data is then freed.
  96. A 0.8Mb buffer is initialized for the scaled image.
  97. The scaling operation is a 5-point filter with a highly optimized assembly
  98. innerloop (it uses reduces mem-reads from 5 to 3). The scaling takes 1s on my
  99. 68030@50Mhz.
  100. A new screen, with depth 3, and using the SA_LikeWorkbench attribute, is created
  101. and WritePixelArray8 is used to display the data.
  102.  
  103. I decided not to support other BitMap sizes because 2->1 scaling is much faster
  104. than arbitrary scaling, which would need a real filter matrix, which in turn
  105. necessitates the use of multiplication operations and more memory accesses.
  106.  
  107. The Future
  108. ----------
  109.  
  110. I might, just might, extend this program to work with arbitrary image sizes,
  111. (but still 2->1 scaling), and use datatypes!. Ooh!
  112. I guess it could be done using the datatype.library render methods onto a
  113. window and then get it using ReadPixelArray8. Might be an easier way?
  114.  
  115. If you have any ideas, suggestions, comments, or bug reports (apart from the
  116. known ones), please send me an email.
  117.  
  118. PS.
  119. It is possible that I might have no access to email starting from March. In case
  120. you want to communicate something important to me (dunno what, how about sending
  121. some money? :)
  122. send snail-mail to:
  123.  
  124. Christos Dimitrakakis
  125. Agias Sofias 4
  126. Drama 66100
  127. Greece
  128.  
  129.  
  130. ============================= Archive contents =============================
  131.  
  132. Original  Packed Ratio    Date     Time    Name
  133. -------- ------- ----- --------- --------  -------------
  134.    40356   21744 46.1% 04-Feb-99 16:45:46  gsaview
  135.     3881    1871 51.7% 04-Feb-99 18:57:46  gsaview.readme
  136. -------- ------- ----- --------- --------
  137.    44237   23615 46.6% 06-Feb-99 00:27:20   2 files
  138.